package com.weimob.mcloud.wechatwork.customer.service.user.service;

import com.weimob.mcloud.wechatwork.customer.service.user.base.BaseRequest;
import com.weimob.mcloud.wechatwork.customer.service.user.module.bo.customer.CustomerLoseLogBO;
import com.weimob.mcloud.wechatwork.customer.service.user.module.bo.customer.CustomerPageResponse;
import com.weimob.mcloud.wechatwork.customer.service.user.module.bo.customer.EmployDeleteCustomerAlarmBO;
import com.weimob.mcloud.wechatwork.customer.service.user.module.dto.customer.CustomerLoseLogQueryDTO;
import com.weimob.mcloud.wechatwork.customer.service.user.module.dto.customer.EmployDeleteCustomerAlarmDTO;
import com.weimob.mcloud.wechatwork.customer.service.user.module.dto.customer.openapi.CustomerLoseApi;
import com.weimob.soa.common.response.SoaResponse;

/**
 * 客户流失相关
 */
public interface CustomerLoseExport {

    /**
     * 客户删除员工列表查询/员工删除客户列表查询
     */
    SoaResponse<CustomerPageResponse<CustomerLoseLogBO>, ?> queryCustomerDeleteEmployList(CustomerLoseLogQueryDTO customerLoseLogQueryDTO);

    /**
     * 客户删除员工列表导出/员工删除客户列表导出
     */
    SoaResponse<Boolean, ?> customerDeleteEmployListExport(CustomerLoseLogQueryDTO customerLoseLogQueryDTO);

    /**
     * 报警保存
     */
    SoaResponse<Boolean, ?> employDeleteCustomerAlarm(EmployDeleteCustomerAlarmDTO employDeleteCustomerAlarmDTO);


    /**
     * 报警详情
     */
    SoaResponse<EmployDeleteCustomerAlarmBO, ?> getAlarmDetail(BaseRequest request);

    /**
     * 流失客户导出明细查询
     */
    SoaResponse<CustomerPageResponse<CustomerLoseLogBO>, ?> customerLoseExportInfo(CustomerLoseLogQueryDTO customerLoseLogQueryDTO);

    /**
     * 客户删除员工列表查询/员工删除客户列表查询-openApi
     */
    SoaResponse<CustomerPageResponse<CustomerLoseLogBO>, ?> queryLoseList(CustomerLoseApi customerLoseApiDTO);

}
